home *** CD-ROM | disk | FTP | other *** search
/ PD Collection CD 1 / PD Collection CD 1.iso / textual / tex / files / !tex / latexsty3 / UCLETTER / STY
Encoding:
Text File  |  1991-02-10  |  13.1 KB  |  444 lines

  1. % from letter.sty 21 Jul 85 < Copyright (C) 1985 by Leslie Lamport >
  2. % ucletter.sty 24 Feb 86
  3. \typeout{Document Style 'ucletter' [Berkeley]. Released 15 March 1986}
  4. \typeout{Berkeley mods by Kevin Fall (kfall@renoir.berkeley.edu)}
  5.  
  6. \def\@ptsize{0} \@namedef{ds@11pt}{\def\@ptsize{1}}
  7. \@namedef{ds@12pt}{\def\@ptsize{2}} 
  8. \@twosidefalse
  9. \def\ds@draft{\overfullrule 5pt} 
  10. \@options
  11.  
  12. \lineskip 1pt \normallineskip 1pt
  13. \def\baselinestretch{1}
  14.  
  15. \ifcase \@ptsize\relax 
  16. \def\@normalsize{\@setsize\normalsize{12pt}\xpt\@xpt 
  17. \abovedisplayskip 10pt plus2pt minus5pt\belowdisplayskip \abovedisplayskip
  18. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6pt plus3pt minus3pt}
  19. \def\small{\@setsize\small{11pt}\ixpt\@ixpt
  20. \abovedisplayskip 8.5pt plus 3pt minus 4pt\belowdisplayskip \abovedisplayskip
  21. \abovedisplayshortskip \z@ plus2pt\belowdisplayshortskip 4pt plus2pt minus 2pt}
  22. \def\footnotesize{\@setsize\footnotesize{9.5pt}\viiipt\@viiipt
  23. \abovedisplayskip 6pt plus 2pt minus 4pt\belowdisplayskip \abovedisplayskip
  24. \abovedisplayshortskip \z@ plus 1pt\belowdisplayshortskip 3pt plus 1pt minus
  25. 2pt}
  26. \def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt}
  27. \def\tiny{\@setsize\tiny{6pt}\vpt\@vpt}
  28. \def\large{\@setsize\large{14pt}\xiipt\@xiipt}
  29. \def\Large{\@setsize\Large{18pt}\xivpt\@xivpt}
  30. \def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt}
  31. \def\huge{\@setsize\huge{25pt}\xxpt\@xxpt}
  32. \def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt}
  33. \or 
  34. \def\@normalsize{\@setsize\normalsize{13.6pt}\xipt\@xipt
  35. \abovedisplayskip 11pt plus3pt minus6pt\belowdisplayskip \abovedisplayskip
  36. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6.5pt plus3.5pt
  37. minus3pt}
  38. \def\small{\@setsize\small{12pt}\xpt\@xpt
  39. \abovedisplayskip 10pt plus2pt minus5pt\belowdisplayskip \abovedisplayskip
  40. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6pt plus3pt minus3pt}
  41. \def\footnotesize{\@setsize\footnotesize{11pt}\ixpt\@ixpt
  42. \abovedisplayskip 8pt plus 2pt minus 4pt\belowdisplayskip \abovedisplayskip
  43. \abovedisplayshortskip \z@ plus 1pt\belowdisplayshortskip 4pt plus 2pt minus
  44. 2pt}
  45. \def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt}
  46. \def\tiny{\@setsize\tiny{7pt}\vipt\@vipt}
  47. \def\large{\@setsize\large{14pt}\xiipt\@xiipt}
  48. \def\Large{\@setsize\Large{18pt}\xivpt\@xivpt}
  49. \def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt}
  50. \def\huge{\@setsize\huge{25pt}\xxpt\@xxpt}
  51. \def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt}
  52. \or 
  53. \def\@normalsize{\@setsize\normalsize{15pt}\xiipt\@xiipt
  54. \abovedisplayskip 12pt plus3pt minus7pt\belowdisplayskip \abovedisplayskip
  55. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6.5pt plus3.5pt
  56. minus3pt}
  57. \def\small{\@setsize\small{13.6pt}\xipt\@xipt
  58. \abovedisplayskip 11pt plus3pt minus6pt\belowdisplayskip \abovedisplayskip
  59. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6.5pt plus3.5pt
  60. minus3pt}
  61. \def\footnotesize{\@setsize\footnotesize{12pt}\xpt\@xpt
  62. \abovedisplayskip 10pt plus2pt minus5pt\belowdisplayskip \abovedisplayskip
  63. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6pt plus3pt minus3pt}
  64. \def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt}
  65. \def\tiny{\@setsize\tiny{7pt}\vipt\@vipt}
  66. \def\large{\@setsize\large{18pt}\xivpt\@xivpt}
  67. \def\Large{\@setsize\Large{22pt}\xviipt\@xviipt}
  68. \def\LARGE{\@setsize\LARGE{25pt}\xxpt\@xxpt}
  69. \def\huge{\@setsize\huge{30pt}\xxvpt\@xxvpt}
  70. \let\Huge=\huge
  71. \fi
  72. \normalsize 
  73.  
  74. %
  75. % Modification to margins to be narrower (ie. Wider text)
  76. %
  77. \oddsidemargin -.3in \evensidemargin -.3in \marginparwidth 90pt \marginparsep
  78. 11pt \marginparpush 5pt 
  79. %
  80. % Mod to headheight,topmargin, and footskip to put some more space on top
  81. %
  82.  \topmargin -10pt \headheight 12pt \headsep 25pt \footheight 12pt \footskip
  83. 15pt 
  84. \textheight 575pt \textwidth 500pt \columnsep 10pt \columnseprule 0pt 
  85. \raggedbottom 
  86. \footnotesep 12pt \skip\footins 10pt plus 2pt minus 4pt 
  87. \floatsep 12pt plus 2pt minus 2pt
  88. \textfloatsep 20pt plus 2pt minus 4pt
  89. \intextsep 12pt plus 2pt minus 2pt
  90. \dblfloatsep 12pt plus 2pt minus 2pt
  91. \dbltextfloatsep 20pt plus 2pt minus 4pt
  92. \@maxsep 20pt
  93. \@dblmaxsep 20pt
  94. \@fptop 0pt plus 1fil
  95. \@fpsep 8pt plus 2fil
  96. \@fpbot 0pt plus 1fil
  97. \@dblfptop 0pt plus 1fil
  98. \@dblfpsep 8pt plus 2fil
  99. \@dblfpbot 0pt plus 1fil
  100.  
  101.  
  102.  
  103. \newdimen\longindentation
  104. \longindentation=.5\textwidth
  105. \newdimen\indentedwidth
  106. \indentedwidth=\textwidth
  107. \advance\indentedwidth -\longindentation
  108.  
  109. \def\opening#1{\ifx\@empty\fromaddress
  110.  \thispagestyle{firstpage} 
  111.     {\raggedleft\today\par}
  112.  \else \thispagestyle{empty} 
  113.  % Next line changed for margin alignment and name inclusion
  114.  {\font\this=cmr8 at 8truept \baselineskip=8pt
  115.  {\this
  116.  \raggedright\ignorespaces 
  117.  \fromname \\
  118.  \fromaddress \\
  119.  \telephonenum \\
  120.  \hskip0pt \\
  121.  \loginname \\*[2\parskip]}
  122.  \hskip4.2truein\today\par}
  123.  \fi
  124.  %
  125.  \vspace{2\parskip}
  126. % Next line changed to allow empty address for a ``To Whom
  127. %    It May Concern Letter''
  128.  \ifx\@empty\toname
  129.  \else {\raggedright \toname \\ \toaddress \par}\vspace{2\parskip}
  130.  \fi
  131.  #1\par\nobreak}
  132. %
  133. % Add a wee bit of extra space before the closing
  134. %
  135. \long\def\closing#1{\par\nobreak\vspace{2\parskip}
  136.  \stopbreaks
  137.  \noindent
  138.  \ifx\@empty\fromaddress\else
  139.  \hspace*{\longindentation}\fi
  140.  \parbox{\indentedwidth}{\raggedright
  141.  \ignorespaces #1\\[6\parskip]
  142.  \ifx\@empty\fromsig 
  143.  \fromname
  144.  \else \fromsig \fi\strut}
  145.  \par}
  146.  
  147. \def\ps{\par\startbreaks}
  148. %
  149. % Added \annotations macro
  150. %
  151. \def\annotations#1{\par\noindent
  152. \parbox[1]{\textwidth}{\ignorespaces #1\strut}\par
  153. }
  154. %
  155. % Berkeley format doesn't use args. to \encl
  156. %
  157. %\def\encl#1{\par\noindent
  158. %\parbox[t]{\textwidth}{\@hangfrom{\rm encl: }\ignorespaces #1\strut}\par}
  159. \def\encl{\par\noindent{\rm Encl.}\par}
  160. %
  161. \def\cc#1{\par\noindent
  162. \parbox[t]{\textwidth}{\@hangfrom{\rm cc: }\ignorespaces #1\strut}\par}
  163. %
  164. \def\stopletter{}
  165.  
  166. \def\returnaddress{}
  167. \newcount\labelcount
  168.  
  169. \def\startlabels{\labelcount=0 \baselineskip=0pt \lineskip=0pt
  170. \pagestyle{empty}
  171. \let\@texttop=\relax
  172. \topmargin -50pt
  173. \headsep 0pt
  174. \oddsidemargin -35pt
  175. \evensidemargin -35pt
  176. \textheight 10in
  177. \@colht\textheight \@colroom\textheight \vsize\textheight
  178. \textwidth 550pt
  179. \columnsep 25pt
  180. \xpt
  181. \baselineskip=0pt
  182. \lineskip=0pt
  183. \boxmaxdepth=0pt
  184. \twocolumn\relax}
  185. %
  186. \def\mlabel#1#2{\setbox0\vbox{\parbox[b]{3.6in}{\strut\ignorespaces #2}}
  187.  \vbox to 2in{\vss \box0 \vss}}
  188.  
  189.  
  190.  
  191. \long\def\letter#1{\newpage
  192.  \c@page\@ne
  193.  \interlinepenalty=200 \@processto{#1}}
  194. %
  195. \def\endletter{\stopletter\@@par\pagebreak\@@par
  196.  \if@filesw 
  197.  \begingroup 
  198.  \def\protect{\string}
  199.  \let\\=\relax
  200.  \def\protect##1{\string##1\space}
  201.  \immediate\write\@auxout{\string\mlabel{\returnaddress}{\toname
  202.  \\\toaddress}}
  203.  \endgroup 
  204.  \fi}
  205. %
  206. \long\def\@processto#1{\@xproc #1\\@@@\ifx\toaddress\@empty 
  207.  \else \@yproc #1@@@\fi}
  208. \long\def\@xproc #1\\#2@@@{\def\toname{#1}\def\toaddress{#2}}
  209. \long\def\@yproc #1\\#2@@@{\def\toaddress{#2}}
  210. %
  211. \def\stopbreaks{\interlinepenalty \@M
  212.  \def\par{\@@par\nobreak}\let\\=\@nobreakcr
  213.  \let\vspace\@nobreakvspace}
  214. \def\@nobreakvspace{\@ifstar{\@nobreakvspacex}{\@nobreakvspacex}}
  215. \def\@nobreakvspacex#1{\ifvmode\nobreak\vskip #1\relax\else
  216.  \@bsphack\vadjust{\nobreak\vskip #1}\@esphack\fi}
  217. \def\@nobreakcr{\vadjust{\penalty\@M}\@ifstar{\@xnewline}{\@xnewline}}
  218. \def\startbreaks{\let\\=\@normalcr
  219.  \interlinepenalty 200\def\par{\@@par\penalty 200}}
  220. %
  221. %
  222. \def\name#1{\def\fromname{#1}}
  223. %
  224. % Include login for Berkeley letter return address
  225. %
  226. \def\login#1{\def\loginname{#1}}
  227. %
  228. %
  229. \def\signature#1{\def\fromsig{#1}}
  230. \def\fromsig{}
  231. %
  232. \long\def\address#1{\def\fromaddress{#1}}
  233. %
  234. \def\fromaddress{}
  235. %
  236. %    Location -- not used in Berkeley letter format
  237. \def\location#1{\def\fromlocation{#1}}
  238. \def\fromlocation{}
  239. %
  240. %    Telephone #
  241. \def\telephone#1{\def\telephonenum{#1}}
  242. %
  243. %
  244. \def\document{\endgroup
  245.  \@colht\textheight \@colroom\textheight \vsize\textheight
  246.  \columnwidth\textwidth \@clubpenalty\clubpenalty
  247.  \if@twocolumn \advance\columnwidth -\columnsep 
  248.  \divide\columnwidth\tw@ \hsize\columnwidth \@firstcolumntrue 
  249.  \fi
  250.  \hsize\columnwidth \linewidth\hsize
  251.  \begingroup\@floatplacement\@dblfloatplacement\endgroup
  252.  \if@filesw \immediate\openout\@mainaux=\jobname.aux
  253.  \immediate\write\@mainaux{\string\startlabels\string\@startlabels}\fi
  254.  \def\do##1{\let ##1\@notprerr}
  255.  \@preamblecmds
  256.  \let\do\noexpand 
  257.  \@normalsize\everypar{}}
  258. %
  259. \def\enddocument{\@checkend{document}\newpage\begingroup 
  260. \if@filesw \immediate\closeout\@mainaux 
  261. \makeatletter\input \jobname.aux\clearpage
  262. \fi\endgroup\deadcycles\z@\@@end}
  263.  
  264. \def\makelabels{\@fileswtrue}
  265. \def\@startlabels{}
  266.  
  267.  
  268.  
  269. %
  270. % Defn's for the UC letterhead
  271. %
  272. %    Our font choices
  273. %
  274. \font\uc=uc at 54truept
  275. \font\five=cmr5 at 5truept
  276. \font\six=cmr6 at 6truept
  277. \font\smallheadfont=cmr8 at 8truept
  278. %
  279. \def\univletterhead{
  280. \font\reg=cmr10 at 10truept
  281. \font\topfont=cmr10 at 12truept
  282.  \par\noindent
  283.  \vskip -1.6truein
  284.  \hbox{\topfont UNIVERSITY OF CALIFORNIA, BERKELEY}
  285.  \vskip 10truept
  286.  \five
  287.  \baselineskip 7truept
  288.  %
  289.  \setbox11=\hbox{\uc C}
  290.  %
  291.  \setbox10=\hbox{\vbox{\hrule width 4.5 truein height 0.2truept
  292.   \vskip 7truept
  293.   \hbox to 4.5truein {BERKELEY \kern-1truept\lower1truept\hbox{$\cdot$}
  294.     DAVIS \kern-1truept\lower1truept\hbox{$\cdot$}
  295.     IRVINE \kern-1truept\lower1truept\hbox{$\cdot$}
  296.     LOS ANGELES \kern-1truept\lower1truept\hbox{$\cdot$}
  297.     RIVERSIDE \kern-1truept\lower1truept\hbox{$\cdot$}
  298.     SAN DIEGO \kern-1truept\lower1truept\hbox{$\cdot$}
  299.     SAN FRANCISCO\hfil}
  300.   \vskip 6truept
  301.   \hrule height0.2truept
  302.  }}
  303.  %
  304.  \setbox12=\hbox{\vbox{\hrule width 1.75truein height0.2truept
  305.   \vskip 6truept
  306.   \hbox{\hskip 8truept SANTA BARBARA \kern-1truept\lower1truept\hbox{$\cdot$} SANTA CRUZ}
  307.   \vskip 6truept
  308.   \hrule width 1.75truein height0.2truept
  309.  }}
  310.  %
  311.  \par\noindent
  312.  \hfuzz30pt
  313.  \hbox{\box10\kern3truept\box11\kern4truept\box12}
  314.  \par\noindent
  315.  \vskip 4truept
  316.  \hbox{{\six Please Reply To:\hskip 3.35truein BERKELEY, CALIFORNIA 94720}}
  317.  \par\noindent
  318.  } 
  319. \vfuzz50pt
  320. %
  321. % End of letterhead defn's
  322. %
  323. % The following line mod'd for inclusion of letterhead
  324. \def\@texttop{\ifnum\c@page=1\vskip 50pt \univletterhead \relax\fi}
  325. %
  326. % Page Styles
  327. %
  328. \def\ps@headings{\def\@oddhead{\sl To \ignorespaces\toname \hfil \today
  329.  \hfil Page \thepage}\def\@oddfoot{}}
  330.  %
  331. \def\ps@empty{\def\@oddhead{}\def\@oddfoot{}\def\@evenhead{}\def\@evenfoot{}}
  332.  
  333. \def\ps@firstpage{\def\@oddhead{}\def\@oddfoot{\raisebox
  334.  {-45pt}[0pt]{\hbox to \textwidth
  335.  {\hspace*{100pt}\xpt\fromlocation \hfill
  336. \telephonenum}}\hss}\def\@evenhead{}\def\@evenfoot{}}
  337. %
  338. \def\ps@plain{\def\@oddhead{}\def\@oddfoot{\rm\hfil\thepage
  339.  \hfil}\def\@evenhead{}\let\@evenfoot\@oddfoot}
  340.  
  341. \parskip .7em \parindent 0pt \topsep .4em \partopsep 0pt \itemsep .4em 
  342. \@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 
  343. \@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty \@itempenalty
  344. -\@lowpenalty 
  345.  
  346.  
  347.  
  348. \leftmargini 2.5em
  349. \leftmarginii 2.2em \leftmarginiii 1.87em \leftmarginiv 1.7em \leftmarginv 1em
  350. \leftmarginvi 1em
  351. \leftmargin\leftmargini
  352. \labelwidth\leftmargini\advance\labelwidth-\labelsep
  353. \labelsep 5pt
  354. \parsep 0pt
  355. \let\@listi\relax
  356. \def\@listii{\leftmargin\leftmarginii
  357.  \labelwidth\leftmarginii\advance\labelwidth-\labelsep}
  358. \def\@listiii{\leftmargin\leftmarginiii
  359.  \labelwidth\leftmarginiii\advance\labelwidth-\labelsep
  360.  \topsep .2em 
  361.  \itemsep \topsep}
  362. \def\@listiv{\leftmargin\leftmarginiv
  363.  \labelwidth\leftmarginiv\advance\labelwidth-\labelsep}
  364. \def\@listv{\leftmargin\leftmarginv
  365.  \labelwidth\leftmarginv\advance\labelwidth-\labelsep}
  366. \def\@listvi{\leftmargin\leftmarginvi
  367.  \labelwidth\leftmarginvi\advance\labelwidth-\labelsep}
  368.  
  369. \def\labelenumi{\arabic{enumi}.} 
  370. \def\theenumi{\arabic{enumi}} 
  371. \def\labelenumii{(\alph{enumii})}
  372. \def\theenumii{\alph{enumii}}
  373. \def\p@enumii{\theenumi}
  374. \def\labelenumiii{\roman{enumiii}.}
  375. \def\theenumiii{\roman{enumiii}}
  376. \def\p@enumiii{\theenumi(\theenumii)}
  377. \def\labelenumiv{\Alph{enumiv}.}
  378. \def\theenumiv{\Alph{enumiv}} 
  379. \def\p@enumiv{\p@enumiii\theenumiii}
  380.  
  381. \def\labelitemi{$\bullet$}
  382. \def\labelitemii{\bf --}
  383. \def\labelitemiii{$\ast$}
  384. \def\labelitemiv{$\cdot$}
  385. \def\verse{\let\\=\@centercr 
  386.  \list{}{\itemsep\z@ \itemindent -15pt\listparindent \itemindent 
  387.  \rightmargin\leftmargin\advance\leftmargin 15pt}\item[]}
  388. \let\endverse\endlist
  389. \def\quotation{\list{}{\listparindent 1.5em
  390.  \itemindent\listparindent
  391.  \rightmargin\leftmargin}\item[]}
  392. \let\endquotation=\endlist
  393. \def\quote{\list{}{\rightmargin\leftmargin}\item[]}
  394. \let\endquote=\endlist
  395.  
  396. \def\descriptionlabel#1{\hfil \it #1}
  397. \def\description{\list{}{\leftmargin\descriptionmargin
  398.  \labelwidth\leftmargin \advance\labelwidth -\labelsep 
  399.  \let\makelabel\descriptionlabel}}
  400. \let\enddescription\endlist
  401. \newdimen\descriptionmargin
  402. \descriptionmargin=3em
  403.  
  404.  
  405. \def\theequation{\arabic{equation}}
  406.  
  407. \arraycolsep 5pt \tabcolsep 6pt \arrayrulewidth .4pt \doublerulesep 2pt 
  408. \tabbingsep \labelsep 
  409. \skip\@mpfootins = \skip\footins
  410. \fboxsep = 3pt \fboxrule = .4pt 
  411.  
  412. \def\footnoterule{\kern-1\p@ 
  413.  \hrule width .4\columnwidth 
  414.  \kern .6\p@} 
  415.  
  416. \long\def\@makefntext#1{\noindent \hangindent 5pt\hbox 
  417.  to 5pt{\hss $^{\@thefnmark}$}#1}
  418.  
  419.  
  420. \c@topnumber=2
  421. \def\topfraction{.7}
  422. \c@bottomnumber=1
  423. \def\bottomfraction{.3}
  424. \c@totalnumber=3
  425. \def\textfraction{.2}
  426. \def\floatpagefraction{.5}
  427. \c@dbltopnumber= 2
  428. \def\dbltopfraction{.7}
  429. \def\dblfloatpagefraction{.5}
  430.  
  431. \def\today{\ifcase\month\or
  432.  January\or February\or March\or April\or May\or June\or
  433.  July\or August\or September\or October\or November\or December\fi
  434.  \space\number\day, \number\year}
  435.  
  436.  
  437. \smallskipamount=.5\parskip \medskipamount=\parskip
  438. \bigskipamount=2\parskip
  439. %
  440. % Change from ps@plain to ps@headings to produce running headers
  441. %
  442. \ps@headings \pagenumbering{arabic} \onecolumn \@fileswfalse 
  443.  
  444.